Compiling Abstract State Machines to C++
نویسنده
چکیده
Abstract State Machines (ASMs) have been widely used to specify software and hardware systems. Only a few of these specifications are executable, although there are several interpreters and some compilers. This paper introduces a compilation scheme to transform an ASM specification in the syntax of the ASM-Workbench into C++. In particular, we transform algebraic types, pattern matching, functional expressions, dynamic functions, and simultaneous updates to C++ code. The main aim of this compilation scheme is to preserve the specification structure in the generated code without generating inefficient code. The implemented compiler was used successfully in the industrial FALKO application at Siemens Corporate Technology.
منابع مشابه
Compiling Abstract State Machines
Abstract State Machines (ASMs) have been widely used to specify software and hardware systems. Only a few of these specifications are executable, although there are several interpreters and some compilers. This paper introduces a compilation scheme to transform an ASM specification in the syntax of the ASM-Workbench into C++. In particular, we transform algebraic types, pattern matching, functi...
متن کاملThe abstract state machines method for modular design and analysis of programming languages
We survey the use of Abstract State Machines in the area of programming languages, namely to define behavioral properties of programs at source, intermediate and machine levels in a way that is amenable to mathematical and experimental analysis by practitioners, like correctness and completeness of compilers, etc. We illustrate how theorems about such properties can be integrated into a modular...
متن کاملVeri cation of Compilers
We report about a joint project of the universities at Karls-ruhe, Kiel and Ulm on how to get correct compilers for realistic programming languages. Arguing about compiler correctness must start from a compiling speciication describing the correspondence of source and target language in formal terms. We have chosen to use abstract state machines to formalize this correspondence. This allows us ...
متن کاملThe Complexity of Abstract Machines
Machines Glossary. • An abstract machine M is given by states, noted s, and transitions between them, noted ; • A state is given by the code under evaluation plus some data-structures to implement search and substitution, and to take care of names; • The code under evaluation, as well as the other pieces of code scattered in the data-structures, are λ -terms not considered modulo α-equivalence;...
متن کاملASM Semantics for C++ 2.0
The Abstract State Machines (ASMs) theory has been applied to formalize the semantics of the C♯ programming language in a rigorous mathematical manner. We have extended the C♯ ASM model in order to handle C♯ 2.0 specific features like generics, anonymous methods and iterator blocks. We discovered that the existing operational model (the dynamic semantics) can be reused entirely. It is not alter...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- J. UCS
دوره 7 شماره
صفحات -
تاریخ انتشار 2001